package lanqiao;
/**
 * 字符统计【第十三届】【省赛】【B组】
 * 给定一个只包含大写字母的字符串s，请你输出其中出现次数最多的字母。
 * 如果有多个字母均出现了最多次，按字母表顺序依次输出所有这些字母。
 * 输入：
 *      BABBACAC
 * 输出：
 *      AB
 */
import java.util.*;
public class Prev_13C {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String str = input.next();

        Map<Character, Integer> map = new HashMap<>();
        // 将字母个数存入map中
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            int charCount = map.getOrDefault(c, 0);
            map.put(c, charCount + 1);
        }

        // 建立数组以便排序
        List<charAndCount> list = new ArrayList<>();
        // 遍历map集合中的每个键值对
        for(Map.Entry<Character, Integer> entry : map.entrySet()) {
            list.add(new charAndCount(entry.getKey(), entry.getValue()));
        }

        // 数组排序，按照字母出现次数由多到少、字典序由先到后
        list.sort(new Comparator<charAndCount>() {
            @Override
            public int compare(charAndCount o1, charAndCount o2) {
                // 先比较字母出现的次数
                if(o1.count != o2.count){
                    // 先按次数由多到少排序
                    return o2.count - o1.count;
                }else{
                    // 若出现次数相同，则按字典序排
                    return o1.c - o2.c;
                }
            }
        });

        //先记录最多的个数
        int maxCount = list.get(0).count;
        //输出出现最多的字母
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).count == maxCount){
                System.out.print(list.get(i).c);
            }else{
                break;
            }
        }
        System.out.println();
    }
}

class charAndCount {
    char c;
    int count;

    public charAndCount(char c, int count) {
        this.c = c;
        this.count = count;
    }
}